package caiweiyu.rbac.view;

import java.util.Scanner;

public class MainView {
    //定义静态变量 input，由于接受用户输入
    public static Scanner input;
    //静态代码块，在类加载时初始化
    static{
        input=new Scanner(System.in);
    }

    public static void show(){
        String menuChoice;//用于存储用户输入的选项
        do{
            printMenu();//输出菜单
            menuChoice=input.nextLine();//读取用户输入
            switch(menuChoice){
                case"0"-> System.out.println("成功退出系统，欢迎再次使用！");
                case"1" ->DeptView.show();//进入部门管理界面
                case"2" ->RoleView.show();//进入角色管理界面
                case"3" ->UserView.show();//进入用户管理界面
                default ->System.out.println("输入非法，请输入正确的菜单编号！");
            }
        }while(!"0".equals(menuChoice));//当用户输入0时退出循环
        input.close();//关闭scanner对象，释放资源
    }
    /*输出主界面菜单
      使用文本块text blocks语法实现多行字符串输出
      文本块是 java13 引入的特征，用三个双引号（“”）包裹多行字符，避免手动换行和转义
     */
    public static void printMenu()
    {
        String menu= """
                ————————————————————
                       RBAC系统
                ————————————————————
                |    0...退出系统    |
                |    1...部门管理    |
                |    2...角色管理    |
                |    3...用户管理    |
                ————————————————————
                请输入选项:""";
        System.out.print(menu);
    }
}

